Computer systems typically comprise a combination of computer programs and hardware, such as semiconductors, transistors, chips, circuit boards, storage devices, and processors. The computer programs are stored in the storage devices and are executed by the processors. Fundamentally, computer systems are used for the storage, manipulation, and analysis of data.
One mechanism for managing data is called a database management system (DBMS) or simply a database. Many different types of databases are known, but the most common is usually called a relational database, which organizes data in tables that have rows, which represent individual entries, tuples, or records in the database, and columns, fields, or attributes, which define what is stored in each entry, tuple, or record. Each table has a unique name within the database and each column has a unique name within the particular table. The database also has one or more indexes, which are data structures that inform the DBMS of the location of a certain row in a table given an indexed column value, analogous to a book index informing the reader of the page on which a given word appears.
The most common way to retrieve data from a database is through statements called database queries, which may originate from user interfaces, application programs, or remote computer systems, such as clients or peers. A query is an expression evaluated by the DBMS, in order to retrieve data from the database that satisfies or meets the criteria or conditions specified in the query.
Databases often use cryptography, which is the practice of hiding information to ensure secrecy and includes encryption and decryption of data. Encryption is the process of converting ordinary information (plain text) into unintelligible information, known as cipher text, which is unreadable or incomprehensible by interceptors, eavesdroppers, or other unauthorized and unintended persons without secret knowledge (namely, the key needed for decryption). Databases use cryptography to encrypt data stored in the database, so that an encrypted database field remains secure even if an unauthorized person reads the encrypted data and knows which encryption algorithm was used to create the encrypted data.